package br.unipar.lhmicheletti.manager;

import static com.google.code.liquidform.LiquidForm.alias;
import static com.google.code.liquidform.LiquidForm.eq;
import static com.google.code.liquidform.LiquidForm.select;

import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;

import org.hibernate.criterion.Expression;
import org.springframework.transaction.annotation.Transactional;

import br.unipar.lhmicheletti.entity.Turma;
import br.unipar.lhmicheletti.entity.Usuario;

public class UsuarioManager {
	
	@PersistenceContext
	private EntityManager entityManager;
	
	@Transactional( readOnly = true )
	public Usuario buscaUsuario( String email ){
		
		Usuario u = alias(  Usuario.class, "u" );
		
		String consulta = select( u ).from( Turma.class )
        .where( eq( u.getEmail(), email ) ).toString();
		
		Usuario usuario = (Usuario)entityManager.createQuery( consulta ).getSingleResult();
		
		return usuario;		
	}
}
